// var i;
// exports.FMButton = void 0;
// var $audioManager = require("./AudioManager");
// var s = cc._decorator;
// var l = s.ccclass;
// var u = s.property;
// var d = s.menu;
// var p = s.disallowMultiple;
// var h = (s.executionOrder, s.requireComponent);
// var f = (function (e) {
//     function t() {
//         var t = (null !== e && e.apply(this, arguments)) || this;
//         t.isScale = !0;
//         t.isBtSound = !0;
//         t.isBtSound1 = !1;
//         t.offtime = 0;
//         return t;
//     }
//     __extends(t, e);
//     t.prototype.onLoad = function () {
//         var e = this;
//         var t = this.node.getComponent(cc.Button);
//         if (t.transition == cc.Button.Transition.NONE && this.isScale) {
//             t.transition = cc.Button.Transition.SCALE;
//             t.duration = 0.1;
//             t.zoomScale = 0.9;
//         }
//         this.node.on(
//             "click",
//             function () {
//                 e.offtime = new Date().getTime() - e.offtime;
//                 if (e.offtime > 100) {
//                     if (e.isBtSound) {
//                         $audioManager.AudioMgr.playEffect("effect/button");
//                     }
//                     e.isBtSound1;
//                     e.offtime = new Date().getTime();
//                 }
//             },
//             this
//         );
//     };
//     __decorate([u()], t.prototype, "isScale", void 0);
//     __decorate([u()], t.prototype, "isBtSound", void 0);
//     __decorate([u()], t.prototype, "isBtSound1", void 0);
//     return __decorate([l, h(cc.Button), p(), d("FM组件/FMButton")], t);
// })(cc.Component);
// exports.FMButton = f;

// import { AudioMgr } from './AudioManager';

// const { ccclass, property, menu, disallowMultiple, requireComponent } = cc._decorator;

// /**
//  * FMButton 类
//  * 建议类名: FMButtonComponent
//  */
// @ccclass
// @requireComponent(cc.Button)
// @disallowMultiple
// @menu("FM组件/FMButton")
// export class FMButton extends cc.Component {
//     /** 是否启用缩放效果 */
//     @property()
//     public isScale: boolean = true;

//     /** 是否播放按钮音效 */
//     @property()
//     public isBtSound: boolean = true;

//     /** 是否播放备用按钮音效 */
//     @property()
//     public isBtSound1: boolean = false;

//     /** 按钮点击的时间间隔 */
//     private offtime: number = 0;

//     /**
//      * 当组件加载时调用
//      * 建议方法名: handleOnLoad
//      */
//     protected onLoad(): void {
//         const buttonComponent = this.node.getComponent(cc.Button);
//         if (buttonComponent.transition === cc.Button.Transition.NONE && this.isScale) {
//             buttonComponent.transition = cc.Button.Transition.SCALE;
//             buttonComponent.duration = 0.1;
//             buttonComponent.zoomScale = 0.9;
//         }

//         this.node.on('click', this.handleClick, this);
//     }

//     /**
//      * 处理按钮点击事件
//      * 建议方法名: handleClick
//      */
//     private handleClick(): void {
//         const currentTime = new Date().getTime();
//         this.offtime = currentTime - this.offtime;

//         if (this.offtime > 100) {
//             if (this.isBtSound) {
//                 AudioMgr.playEffect("effect/button");
//             }
//             this.isBtSound1; // 这个逻辑似乎没有实际作用，可能需要进一步确认
//             this.offtime = currentTime;
//         }
//     }
// }

import { AudioMgr } from './AudioManager';

const { ccclass, property, menu, disallowMultiple, requireComponent } = cc._decorator;

/**
 * FMButton 类
 * 建议类名: FMButtonComponent
 */
@ccclass
@requireComponent(cc.Button)
@disallowMultiple
@menu("FM组件/FMButtonComponent")
export class FMButtonComponent extends cc.Component {
    /** 是否启用缩放效果 */
    @property()
    public isScale: boolean = true;

    /** 是否播放按钮音效 */
    @property()
    public isBtSound: boolean = true;

    /** 是否播放备用按钮音效 */
    @property()
    public isBtSound1: boolean = false;

    /** 按钮点击的时间间隔 */
    private lastClickTime: number = 0;  // 重命名为 lastClickTime 以提高可读性

    /**
     * 当组件加载时调用
     * 建议方法名: handleOnLoad
     */
    protected onLoad(): void {
        const buttonComponent = this.node.getComponent(cc.Button);
        if (buttonComponent.transition === cc.Button.Transition.NONE && this.isScale) {
            buttonComponent.transition = cc.Button.Transition.SCALE;
            buttonComponent.duration = 0.1;
            buttonComponent.zoomScale = 0.9;
        }

        this.node.on('click', this.handleClick, this);
    }

    /**
     * 处理按钮点击事件
     * 建议方法名: handleClick
     */
    private handleClick(): void {
        const currentTime = new Date().getTime();
        const timeElapsedSinceLastClick = currentTime - this.lastClickTime;

        // 只有当时间间隔大于100毫秒时才处理点击事件
        if (timeElapsedSinceLastClick > 100) {
            if (this.isBtSound) {
                AudioMgr.playSoundEffect("effect/button");
            }
            // 如果 isBtSound1 需要执行一些操作，可以在这里添加相关逻辑
            // 暂时没有实际作用的地方，留作扩展
            this.lastClickTime = currentTime;  // 更新最后点击时间
        }
    }
}